home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / Ant Movie Catalog 3.5.0.2 / amc_install.exe / {app} / Scripts / Erreurs de films (FR).ifs < prev    next >
Text File  |  2005-05-23  |  8KB  |  243 lines

  1. (***************************************************
  2.  
  3. Ant Movie Catalog importation script
  4. www.antp.be/software/moviecatalog/
  5.  
  6. [Infos]
  7. Authors=ScorEpioN
  8. Title=ErreursDeFilms.com
  9. Description=Recherche d'erreurs dans des films
  10. Site=http://www.erreursdefilms.com
  11. Language=FR
  12. Version=19 du 23/05/2005
  13. Requires=3.5
  14. Comments=Ce script nΘcessite le fichier ScorEpioNCommonScript.pas|.==.| :   ' ( ( ( ( /\ |  "==()))))):     ⌐ ScorEpioN ⌐|       ( ( ( ( \_/
  15. License=This program is free software; you can redistribute it and/or modify it under the  terms of the GNU General Public License as published by the Free Software Foundation;  either version 2 of the License, or (at your option) any later version. |
  16. GetInfo=1
  17.  
  18. [Options]
  19. Mise α jour=1|1|0=Oui|1=Non
  20. Type de Lancement=0|0|0=Demande le titre avant de lancer le script|1=Ne demande pas le titre avant de lancer le script
  21. Format du Titre=3|3|0=Titre en minuscule|1=Titre en majuscule|2=PremiΦre lettre du titre en majuscule|3=PremiΦre lettre de chaque mot du titre en majuscule
  22. Titre en double=0|0|0=Garde les titres originaux et traduits mΩme identiques|1=Garde les titres originaux si identiques|2=Garde les titres traduits si identiques
  23. Recherche sur le titre=0|0|0=Traduit|1=Original
  24.  
  25. ***************************************************)
  26.  
  27. program ErreurDeFilm_SEARCH;
  28. uses
  29.   ScorEpioNCommonScript;
  30.  
  31. const
  32.   VersionScript = '19 du 23/05/2005';
  33.   NomScript = 'ERREURS DE FILMS';
  34.   urlDomain = 'erreursdefilms.com';
  35.  
  36. var
  37.   MovieName, NomFilm, Adresse, Parametre, Reponse : string;
  38.   premiereExecution : Integer;
  39.  
  40. //------------------------------------------------------------------------------
  41. // ANALYSE DE LA PAGE DES FILMS
  42. //------------------------------------------------------------------------------
  43.  
  44. procedure AnalyzePage(Address, Params: string);
  45. var
  46.   Line, aucun_film,page_film,titre_film, la_page : string;
  47.   BeginPos, EndPos, compteur: Integer;
  48.   
  49.   begin
  50. //vide la liste des films
  51.   PickTreeClear;
  52.  
  53. //charge la page
  54.   Address := URLEncode(Address);
  55.   Params := URLEncode(Params);
  56.   Line := PostPage(Address,Params);
  57.   aucun_film := Line;
  58.   
  59. //teste si il y a des films trouvΘs
  60.   BeginPos := Pos('<tr><td colspan="3" align="center"><b>RΘsultats sur les titres</b><br><br></td></tr>', aucun_film);
  61.   if BeginPos <> 0 then 
  62.   begin
  63.   Delete(aucun_film, 1, BeginPos);
  64.   BeginPos := Pos('<tr><td colspan=3 align=center>Aucun rΘsultat α votre recherche</td></tr>', aucun_film);
  65.   if BeginPos <> 0 then  
  66.   begin
  67.     titre_film := MovieName;
  68.     titre_film := Trim(titre_film);
  69.     titre_film := AnsiLowerCase(titre_film);
  70.     titre_film := AnsiUpFirstLetter(titre_film);  
  71.     showmessage('Aucune erreur trouvΘe pour : ' + titre_film);
  72.     exit;
  73.   end;
  74.   end;
  75.  
  76. //introduction rΘsultats  
  77.   titre_film := MovieName;
  78.   titre_film := AnsiUpFirstLetter(titre_film);
  79.   PickTreeAdd('Erreurs trouvΘes pour le film ' + titre_film + ' :', '');  
  80.   
  81. //compte les rΘsultats
  82.   compteur := 0;
  83.   
  84.   BeginPos := Pos('<td>Titre</td>', Line);
  85.   Delete(Line, 1, BeginPos+14);
  86.   
  87. //cherche le lien de la page du film
  88.   BeginPos := Pos('<td><a href=', Line);
  89.   
  90.   repeat
  91.     Delete(Line, 1, BeginPos+12);
  92.     EndPos := Pos('>', Line);
  93.     page_film := 'http://www.erreursdefilms.com/' + Copy(Line, 1, EndPos-2 );
  94.     page_film := URLEncode(page_film);
  95.   //cherche le nom du film
  96.     BeginPos := Pos('>',Line);
  97.     Delete(Line, 1, BeginPos);
  98.     EndPos := Pos('</a></td>',Line);
  99.     titre_film := Copy(Line, 1, EndPos-1 );
  100.     HTMLdecode(titre_film);
  101.     HTMLremovetags(titre_film);
  102.     titre_film := Trim(titre_film);
  103.     titre_film := AnsiLowerCase(titre_film);
  104.     titre_film := AnsiUpFirstLetter(titre_film);
  105.     if titre_film <> '' then
  106.     begin
  107.   //ajoute les films
  108.       PickTreeAdd(titre_film , page_film);
  109.       la_page := page_film;
  110.       compteur := compteur+1;
  111.     end;
  112.   //cherche le lien de la page du film
  113.     BeginPos := Pos('<td><a href=', Line);
  114.   until BeginPos = 0;
  115.   
  116.   if compteur = 1 then
  117.   begin
  118.     AnalysePageFilm(la_page);
  119.     exit;
  120.   end;
  121.  
  122.   PickTreeExec(Address);
  123.   if pos(urlDomain,Address) <> 0 then
  124.      AnalysePageFilm(Address);
  125.  
  126.  
  127. end;
  128.  
  129. //------------------------------------------------------------------------------
  130. // ANALYSE DE LA PAGE DU FILM
  131. //------------------------------------------------------------------------------
  132.  
  133. procedure AnalysePageFilm(Address: string);
  134. var
  135.   Line,les_erreurs, erreur, detail_erreur : string;
  136.   BeginPos, EndPos: Integer;
  137.   
  138. begin
  139. //charge la page
  140.   Address := URLEncode(Address);
  141.   Line := GetPage(Address);
  142.   
  143.   les_erreurs := 'Liste des erreurs :';
  144.  
  145. //cherche les erreurs 
  146.   BeginPos := Pos('<td width=''*'' valign=''top''>', Line);
  147.   if BeginPos <> 0 then
  148.   begin
  149.     repeat 
  150.       Delete(Line, 1, BeginPos+26);
  151.       BeginPos := Pos('<b>', Line);
  152.       Delete(Line, 1, BeginPos+2);
  153.       EndPos := Pos('</b><br>', Line);
  154. //type d'erreur 
  155.       erreur := copy(Line,1,EndPos-1);
  156.       erreur := StringReplace(erreur , '<br>', '');
  157.       HTMLremovetags(erreur);
  158.       erreur := StringReplace(erreur , #13#10, '');
  159.       //showmessage(erreur);
  160.       Delete(Line, 1, EndPos+7);
  161.       EndPos := Pos('</td>', Line);
  162. //l'erreur en dΘtail
  163.       detail_erreur := copy(Line,1,EndPos-1);
  164.       detail_erreur := StringReplace(detail_erreur , '<br>', ' ');
  165.       HTMLremovetags(detail_erreur);
  166.       detail_erreur := StringReplace(detail_erreur , #13#10, '');
  167.       detail_erreur := Trim(detail_erreur);
  168.       //showmessage(detail_erreur);
  169.       erreur := #13#10#13#10+erreur+#13#10+ detail_erreur;
  170.       erreur := Trim(erreur);
  171.       erreur := StringReplace(erreur , '          ', '');
  172.       erreur := StringReplace(erreur , ' ', '');
  173.       les_erreurs := les_erreurs + erreur;
  174.       BeginPos := Pos('<td width=''*'' valign=''top''>', Line);
  175.     until BeginPos = 0;
  176.   end;
  177.   
  178.  les_erreurs := les_erreurs + #13#10#13#10 + 'Informations provenant du site www.erreursdefilms.com';
  179.  
  180. //charge les rΘsultats dans la fenΩtre
  181.   SetField( fieldOriginalTitle,formatTitre(GetField(fieldOriginalTitle),GetOption('Format du Titre')));
  182.   SetField( fieldTranslatedTitle,formatTitre(GetField(fieldTranslatedTitle),GetOption('Format du Titre')));
  183.   if (GetField(fieldComments) <> '') then
  184.   begin
  185.     les_erreurs := GetField(fieldComments)+ #13#10#13#10 + les_erreurs;
  186.     SetField( fieldComments,les_erreurs);
  187.   end else
  188.   begin
  189.     SetField( fieldComments,les_erreurs);      
  190.   end;
  191.  
  192. // Affichage des titres si original et traduit identique
  193.   titreDouble(GetOption('Titre en double'));
  194.  
  195. end;
  196.  
  197. //------------------------------------------------------------------------------
  198. // PROGRAMME PRINCIPAL
  199. //------------------------------------------------------------------------------
  200.  
  201. begin
  202.   if CheckVersion(3,5,0) then
  203.   begin
  204.     if GetOption('Mise α jour') = 0 then
  205.     begin
  206.        execMenuMAJ(VersionScript,NomScript);
  207.        exit;
  208.     end;
  209.     MovieName := recupTitreRecherche(GetOption('Recherche sur le titre'));
  210.     if (GetOption('Type de Lancement') = 0) then
  211.     begin
  212.     if Input(NomScript+' by ScorEpioN', 'Entrez le titre du film :', MovieName) then
  213.     begin
  214.       //remplace les caractΦres accentuΘs
  215.       NomFilm := MovieName;
  216.       NomFilm := supprimeLesAccents(NomFilm);
  217.       Adresse := URLEncode('http://www.erreursdefilms.com/resrech.php');
  218.       Parametre := URLEncode('rechtxt='+NomFilm+'&typerech=tous');
  219.       AnalyzePage(Adresse, Parametre);
  220.     end;
  221.     end else
  222.     begin
  223.       NomFilm := MovieName;
  224.       NomFilm := supprimeLesAccents(NomFilm);
  225.       Adresse := URLEncode('http://www.erreursdefilms.com/resrech.php');
  226.       Parametre := URLEncode('rechtxt='+NomFilm+'&typerech=tous');
  227.       if (premiereExecution = 0) then
  228.       begin
  229.           premiereExecution := -1;
  230.           if (ShowConfirmation('Vous allez executer le script sans confirmation, cliquer sur ''''OUI'''' pour continuer') = True) then
  231.           begin
  232.             AnalyzePage(Adresse, Parametre);
  233.           end else
  234.             exit;
  235.       end else
  236.       begin
  237.         AnalyzePage(Adresse, Parametre);
  238.       end;
  239.     end;
  240.   end else
  241.     ShowMessage('Ce script requiert une version plus rΘcente de Ant Movie Catalog (au moins la version 3.5.0)');
  242. end. 
  243.